home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / init.d / p0f < prev    next >
Text File  |  2005-12-11  |  1KB  |  39 lines

  1. #!/sbin/runscript
  2. # Copyright 1999-2004 Gentoo Foundation
  3. # Distributed under the terms of the GNU General Public License v2
  4. # $Header: /var/cvsroot/gentoo-x86/net-analyzer/p0f/files/p0f.initd2,v 1.1 2005/06/19 01:54:40 vanquirius Exp $
  5.  
  6. start() {
  7.     ebegin "Starting p0f"
  8.     # The 'tcp and tcp[13] & 2 = 2' requires at least syn set.
  9.     # An alternative would be 'tcp and tcp[13] & 0x3f = 2', which
  10.     # is syn and no other major flags (but ECN enabled packets are OK)
  11.     if [ -z "$BpfFilter" ]; then
  12.         BpfFilter='tcp and tcp[13] & 2 = 2'
  13.     else
  14.         BpfFilter="$BpfFilter and tcp and tcp[13] & 2 = 2"
  15.     fi
  16.  
  17.     # The command in backticks returns all the local IP addresses on this machine.
  18.     for OneIP in `/sbin/ifconfig 2>/dev/null | grep 'inet addr' | sed -e 's/.*addr://' -e 's/ .*//'` ; do
  19.         BpfFilter="$BpfFilter and not src host $OneIP"
  20.     done
  21.     
  22.     # Create a lock file.
  23.     mkdir -p /var/lock/subsys
  24.     touch /var/lock/subsys/p0f
  25.     
  26.     # Start up p0f and filter out all packets originating from any of this machines IP's.
  27.     einfo "Logfile: ${P0FLOGFILE}"
  28.     start-stop-daemon --start --quiet --exec /usr/sbin/p0f -- -i "${P0FDEVICE}" \
  29.     "${P0FOPTIONS}" "${P0FLOGFILE}" "${BpfFilter}" >> "/var/log/p0f" 2>&1 &
  30.     eend ${?}
  31. }
  32.  
  33. stop() {
  34.     ebegin "Stopping p0f"
  35.     start-stop-daemon --stop --quiet --exec /usr/sbin/p0f
  36.     rm -f /var/lock/subsys/p0f
  37.     eend ${?}
  38. }
  39.